リモートのデバイスを遠隔保守ができる WARP-to-WARP を試してみた
Cloudflare Zero Trust では WARP というエージェントを使って、Cloudflare のバックボーンとセキュアトンネルをはることができます。
WARP は遠隔地にある社内リソース(サーバーなど)にアクセスするために利用されますが、WARP をインストールしている端末同士がVPNを介して相互にアクセスすることも可能です。
これが WARP-to-WARP という機能になりますが、実際にこの機能を使って、対向のデバイスにRDP接続してみました。
Cloudflare Zero Trust の設定
Cloudflare Zero Trust のコンソールにログインして、WARP-to-WARP の機能を有効化していきます。
Settings > Networks に進みます。
Firewall の Proxy をONにして、UDP、ICMPにチェックを入れます。
WARP to WARP のスイッチもONにします。
次に、画面を戻って、Settings > WARP Client に進みます。
Global Settings の Override local interface IP をONにします。
警告が表示されますが、そのまま設定を確定します。
※公式ドキュメントに従って手順を進めていくと、この設定が抜けてしまいがちなのですが忘れずに有効化します。
さらに今回のテスト端末に適用する、WARP Profile を選択して設定を変更します。
Split Tunnel で Manage を選択します。(Exclude IPs and domains にチェックされている前提とします)
先の手順で WARP-to-WARP を有効化し、デバイスがエンロールメント(WARPをインストールして認証をパスすると)を行うとトンネルインターフェイスに 100.96.0.0/12 のIPアドレスが付与されます。
WARP 同士が通信するために、これらのIPアドレスへの通信を Cloudflare(インターネット) に向くよう Split Tunnel の設定で制御する必要があります。
デフォルトの設定では、以下のように 100.64.0.0/10 が Cloudflare(インターネット) への通信から除外されていますので、これを調整する必要があります。
100.64.0.0/10 のエントリーを Delete で削除します。
新たに 100.64.0.0/11 のエントリーを Save Destination で登録します。
後は、2つの端末で WARP をインストールし、デバイスのエンロールメントを行います。
それぞれ、Mac、Windows 11 で WARP をインストールしました。
インストール後、IPアドレスを確認します。
Mac:
% ifconfig
utun3: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
inet 100.96.0.2 --> 100.96.0.2 netmask 0xffffffff
inet6 2606:4700:110:8d00:d184:cac5:6dec:6f61 prefixlen 128
nd6 options=201<PERFORMNUD,DAD>
Windows 11:
>ipconfig
不明なアダプター CloudflareWARP:
接続固有の DNS サフィックス . . . . .:
IPv6 アドレス . . . . . . . . . . . .: 2606:4700:110:83d6:c77d:2a26:fe3e:6b67
IPv4 アドレス . . . . . . . . . . . .: 100.96.0.1
サブネット マスク . . . . . . . . . .: 255.255.255.255
デフォルト ゲートウェイ . . . . . . .:
それぞれ、「100.96.0.2」と「100.96.0.1」が付与されているのが分かります。
後は Mac → Windows11 にリモートデスクトップするための、受診側の設定を行うとリモートデスクトップすることができました。
まとめ
WARP-to-WARP があれば在宅勤務している状況下で、従業員のパソコンのトラブル対応などで遠隔保守が行いたいときでも安心ですね。